home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -in_the_mag- / banging_the_metal / clocks / resclock / resclock.doc < prev    next >
Text File  |  1999-11-30  |  4KB  |  86 lines

  1.  
  2. ResClock -- A software-only replacement for battclock.resource
  3.  
  4.    ResClock was written for my own use, as a do-it-yourself style solution
  5. to a particularly annoying deficiency in my Amiga 1200 -- the lack of a
  6. battery-backed clock. ResClock overrides the system battclock.resource,
  7. providing a software-based equivalent that can keep time over warm reboots.
  8.  
  9.    To use it you only need to run it once after every cold restart. It
  10. installs a tiny (250 bytes) resident module that keeps time independently
  11. and stays active over reboot. After that, you can use your Amiga just as if
  12. it had a real battery-backed clock!
  13.  
  14.  
  15.    I'd recommend adding either of the snippets below to your S:User-Startup
  16. (or S:Startup-Sequence). They assume ResClock is somewhere along your path,
  17. and take advantage of the fact that ResClock exits with a return code of 5
  18. if it detects that the resident module already exists.
  19.  
  20. ; For those booting straight into Workbench:
  21. ResClock
  22. If warn
  23.   SetClock load
  24. Else
  25.   Run >Nil: Sys:Prefs/Time
  26. EndIf
  27.  
  28. ; For those booting into a CLI/Shell window
  29. ResClock
  30. If warn
  31.   SetClock load
  32.   Date
  33. Else
  34.   Echo "Enter date & time: " noline
  35.   Date >Nil: ?
  36.   SetClock save
  37. EndIf
  38.  
  39.  
  40.    Compared to a real battery-backed clock, ResClock has a few obvious
  41. drawbacks. For example, ResClock will not survive the following:
  42.  
  43.  * Shutting down the Amiga
  44.  * Very severe crashes
  45.  * Certain games which take over the whole system
  46.  * Overzealous viruskillers that think nothing should survive a reset
  47.  
  48.    Disabling interrupts for significant periods will freeze ResClock until
  49. they are enabled again. (The same will happen to the system clock.) This
  50. also means the ResClock will lose a few seconds during each reset, as all
  51. system activity, including interrupts, is halted.
  52.  
  53.    ResClock does not attempt to compensate for this delay, as its length can
  54. be highly variable, depending on things like the time you keep the "three
  55. keys of death" pressed down. Also, ResClock re-activates itself very early
  56. in the boot sequence, even before the bootmenu and any pending alerts are
  57. displayed, which helps keep the delay as short as possible.
  58.  
  59.  
  60.    Note: ResClock is a hack. There simply is no safe, clean, and elegant
  61. way to replace an existing system resident module, which is exactly what it
  62. does. Also, to keep its size to a minimum, ResClock has no standard library
  63. base structure. Any program that makes too many assumption about
  64. battclock.resource, such as trying to patch it as if it were a library, is
  65. bound to screw ResClock up magnificently.
  66.  
  67.    To replace battclock.resource, ResClock appears under its name in the
  68. resource and resmodules lists. Doing "version battclock.resource" after
  69. ResClock has been active over least one reboot will show a bogus version
  70. number nn.666, where nn is one greater than your kickstart version. If
  71. necessary, the proper way to discover ResClock's presence is to search the
  72. KickMemPtr chain for the name "resclock".
  73.  
  74.  
  75.    ResClock is hereby placed in the Public Domain. Give it to your friends,
  76. sell it on a CD, reverse engineer it if you wish, it's all up to you.
  77. However, I would consider it common courtesy to include this documentation
  78. if you wish to redistribute it, and to mention my name if you use it in your
  79. own products. It's not as if I get anything else for my efforts.
  80.  
  81.    If you like ResClock, or if you wish to report problems or suggest
  82. improvements, please send e-mail to Ilmari Karonen <iltzu@sci.fi>. The
  83. latest version of ResClock should be available from Aminet or from my web
  84. pages at http://www.sci.fi/~iltzu/
  85.  
  86.